package com.td.module.farmer.controller.admin.plantinginformation.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.td.framework.excel.core.annotations.DictFormat;
import com.td.framework.excel.core.convert.DictConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;


/**
 * 种植信息 Excel VO
 *
 * @author 王翔翔
 */
@Data
public class PlantingInformationExcelVO {

    @ExcelProperty("主键id")
    private Long id;

    @ApiModelProperty(value = "农户id")
    private Long farmerId;

    @ExcelProperty("土地编码")
    private String landCode;

    @ExcelProperty("种植物名称")
    private String plantingName;

    @ExcelProperty("种植时间")
    private LocalDateTime plantingTime;

    @ExcelProperty("种植周期（月）")
    private BigDecimal plantingCycle;

    @ExcelProperty("投入品名称")
    private String inputName;

    @ExcelProperty(value = "土壤信息（肥沃程度）", converter = DictConvert.class)
    @DictFormat("land_information") // TODO 代码优化：建议设置到对应的 XXXDictTypeConstants 枚举类中
    private Integer landInformation;

    @ExcelProperty(value = "病虫害防治", converter = DictConvert.class)
    @DictFormat("pests_diseases") // TODO 代码优化：建议设置到对应的 XXXDictTypeConstants 枚举类中
    private Integer pestsDiseases;

    @ExcelProperty(value = "土地面积")
    private BigDecimal landArea;

    @ExcelProperty(value = "作物产量（斤/亩）")
    private String cropYield;

    @ExcelProperty(value = "存储方式（常温存储，冷藏）", converter = DictConvert.class)
    @DictFormat("agro_review_storage_method") // TODO 代码优化：建议设置到对应的 XXXDictTypeConstants 枚举类中
    private Integer agroReviewStorageMethod;

    @ExcelProperty("地理坐标")
    private String coordinates;

    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}
